#ifndef TIPOENTIDAD_H_
#define TIPOENTIDAD_H_

#include <string>
#include <map>
#include "../vista/AccionTipoEntidad.h"

using namespace std;

class TipoEntidad{

private:

	string nombre, ruta, accion;
	int ancho, alto, pix_ref_x, pix_ref_y, fps, delay, anchoFrame, cantCuadros, pasosVision;
	bool esTransitable;
	bool tieneBonus;
	bool esGolpeable;
	int vida, magia, velocidad, precision, fuerza;

	map<string,AccionTipoEntidad*> mapeadorAccionesEImagenes;

public:

	TipoEntidad();
	~TipoEntidad();
	int getAlto() const;
	void setAlto(int alto);
	int getAncho() const;
	void setAncho(int ancho);
	int getDelay() const;
	void setDelay(int delay);
	int getFps() const;
	void setFps(int fps);
	const string& getNombre() const;
	void setNombre(const string& nombre);
	int getPixRefX() const;
	void setPixRefX(int pixRefX);
	int getPixRefY() const;
	void setPixRefY(int pixRefY);
	const string& getRuta() const;
	void setRuta(const string& ruta);
	bool isTransitable();
	void setEsTransitable(bool esTransitable);
	int getAnchoFrame();
	void setAnchoFrame(int anchoFrame);
	void setCantidadCuadros(int cant);
	int getCantidadCuadros();
	int getPasosVision();
	void setPasosVision(int pasos);
	bool esTieneBonus();
	void setTieneBonus(bool tieneBonus);
	bool esEsGolpeable();
	void setEsGolpeable(bool esGolpeable);
	map<string, AccionTipoEntidad*>* getMapeadorAccionesEImagenes();
	void setMapeadorAccionesEImagenes(map<string,AccionTipoEntidad*> mapa);
	int getVida();
	void setVida(int vida);
	int getVelocidad();
	void setVelocidad(int velocidad);
	int getMagia();
	void setMagia(int magia);
	int getPrecision();
	void setPrecision(int prec);
	int getFuerza();
	void setFuerza(int fuerza);
};


#endif /* TIPOENTIDAD_H_ */
